package com.google.gwt.homepage.smile.client;

import com.google.gwt.user.client.rpc.AsyncCallback;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import com.google.gwt.homepage.smile.shared.FriendTable;
import com.google.gwt.homepage.smile.shared.BannerSajuInfo;
import com.google.gwt.homepage.smile.shared.Contact;
import com.google.gwt.homepage.smile.shared.ContactDetails;
import com.google.gwt.homepage.smile.shared.MemberBean;
import com.google.gwt.homepage.smile.shared.ResultOfJoinYn;
import com.google.gwt.homepage.smile.shared.SajuData;
import com.google.gwt.homepage.smile.shared.SajuDataTable;

public interface SmileServiceAsync {

  public void addContact(Contact contact, AsyncCallback<Contact> callback);
  public void deleteContact(String id, AsyncCallback<Boolean> callback);
  public void deleteContacts(ArrayList<String> ids, AsyncCallback<ArrayList<ContactDetails>> callback);
  public void getContactDetails(AsyncCallback<ArrayList<ContactDetails>> callback);
  public void getContact(String id, AsyncCallback<Contact> callback);
  public void updateContact(Contact contact, AsyncCallback<Contact> callback);
  
  
  public void getSajuResult(String year, String month, String date, String time, AsyncCallback<SajuDataTable> callback);
  public void getLoginInfo(String url,AsyncCallback<MemberBean> callback);
  public void getSajuBanner(String url,AsyncCallback<BannerSajuInfo> callback);
  public void saveSajuResult(String year, String month, String date, String time, String sex, String job, String addr, AsyncCallback<String> callback);
  public void getMyCurrentDetailSajuResult(String url, AsyncCallback<HashMap<String, Object>> callback);
  public void searchFriend(String i_email, AsyncCallback<List<FriendTable>> callback);
  public void isJoined(String url, AsyncCallback<ResultOfJoinYn> callback);
}

